[CSS consolidation] Add extended to store list of extension URLs
#1904
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Via #1903 (comment).
This adds a new
extendedkey to entries in the consolidated CSS that lists URLs of specs that extend the base definition. For properties, the URLs target the actual extended definition. For functions and types, the URLs merely target the spec without any specific fragment, because there is no actual definition and we don't know where the extension appears at the consolidation phase.One question I wondered about is whether to use a separate
extendedkey or to turn thehrefkey into an array of references, with the first reference targeting the base definition. I stuck to a separate key on the grounds that most consumers that need a URL probably want a single URL to start with. Also, some of the constructs don't have any extension for now (at-rules, selectors, descriptors)... but then they might in the future. Having a single array might be a better approach?Note this also prepares the consolidation to deal with extended functions and types (same update as that made in #1903). As opposed to extensions of properties where new values are added to the syntax, function/type extensions re-define the entire syntax. Reffy does not support extraction of function/type extensions in itself yet, so that part of the update is not going to be used for now.